package ms.maplestory.boot.loaders.container;

import ms.maplestory.boot.enums.InventoryType;
import ms.maplestory.boot.enums.ScrollStatType;
import ms.maplestory.boot.enums.SpecStatType;
import lombok.Getter;
import lombok.Setter;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

@Getter
@Setter
public class ItemInfo {

    private int id;
    private InventoryType inventoryType;
    private boolean cash;
    private int price;
    private int slotMax = 200;
    private int reqSkillLevel;
    private int masterLevel;
    private int mob;
    private int npc;
    private int grade;
    private boolean tradeBlock;
    private boolean notSale;
    private boolean quest;
    private boolean monsterBook;
    private int reqQuestOnProgress;
    private String path = "";
    private String script = "";
    private int scriptNPC;
    private int moveTo;

    private Set<Integer> reqItemIds = new HashSet<>();
    private Map<ScrollStatType, Integer> scrollStats = new HashMap<>();
    private Set<Integer> questIDs = new HashSet<>();
    private Map<SpecStatType, Integer> specStats = new HashMap<>();
    private Set<ItemRewardInfo> itemRewardInfos = new HashSet<>();

    public void putScrollStat(ScrollStatType scrollStatType, int value) {
        scrollStats.put(scrollStatType, value);
    }

    public void addQuest(int questID) {
        questIDs.add(questID);
    }

    public void putSpecStat(SpecStatType specStatType, int value) {
        specStats.put(specStatType, value);
    }

    public void addItemReward(ItemRewardInfo itemRewardInfo) {
        itemRewardInfos.add(itemRewardInfo);
    }

}
